Learn R Programming

pracma (version 1.9.3)

geomean, harmmean: Geometric and Harmonic Mean (Matlab Style)

Description

Geometric and harmonic mean along a dimension of a vector, matrix, or array. trimmean is almost the same as mean in R.

Usage

geomean(x, dim = 1) harmmean(x, dim = 1)
trimmean(x, percent = 0)

Arguments

x
numeric vector, matrix, or array.
dim
dimension along which to take the mean; dim=1 means along columns, dim=2 along rows, the result will still be a row vector, not a column vector as in Matlab.
percent
percentage, between 0 and 100, of trimmed values.

Value

Returns a scalar or vector (or array) of geometric or harmonic means: For dim=1 the mean of columns, dim=2 the mean of rows, etc.

Details

trimmean does not call mean with the trim option, but rather calculates k<-round(n*percent/100/2) and leaves out k values at the beginning and end of the sorted x vector (or row or column of a matrix).

See Also

mean

Examples

Run this code
A <- matrix(1:12, 3, 4)
geomean(A, dim = 1)
## [1]  1.817121  4.932424  7.958114 10.969613
harmmean(A, dim = 2)
## [1] 2.679426 4.367246 5.760000

x <- c(-0.98, -0.90, -0.68, -0.61, -0.61, -0.38, -0.37, -0.32, -0.20, -0.16,
        0.00,  0.05,  0.12,  0.30,  0.44,  0.77,  1.37,  1.64,  1.72,  2.80)
trimmean(x); trimmean(x, 20)    # 0.2  0.085
mean(x); mean(x, 0.10)          # 0.2  0.085

Run the code above in your browser using DataLab